// Learn TypeScript:
//  - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/typescript.html
//  - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/typescript.html
// Learn Attribute:
//  - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html
//  - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
//  - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html
//  - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/life-cycle-callbacks.html

const { ccclass, property } = cc._decorator;

@ccclass
export default class NewClass extends cc.Component {

    labelNode: cc.Label = null

    @property()
    size = 26
    
    @property()
    color = 'f8d80d'
    
    // LIFE-CYCLE CALLBACKS:

    setGrade(number) { // 分数模式
        if (!this.labelNode) {
            var color = cc.Color.BLACK;
            color.fromHEX(this.color);
            this.node.addComponent(cc.Label)
            this.labelNode = this.node.getComponent(cc.Label)
            this.labelNode.string = number
            this.labelNode.fontSize = this.size
            this.node.color = color
        }
        this.labelNode.string = number
    }

    onLoad() {
        cc.systemEvent.on('setTarget', (data) => {
            const type = data.type
            if (type === 'grade') {
                this.setGrade(data.number)
            }
        }, this)
    }

    start() {

    }

    // update (dt) {}
}
